$(document).ready(function()
{ 
//////////////////////// envio formularios ajax /////////////////////////////////////
  $('#formulario').submit(function()
  {
    $.ajax(
    {
      type: 'POST',
      dataType: "json",
      url: $(this).attr('action'),
      data: $(this).serialize(),
      beforeSend: function(data)
      {
        console.log('se esta enviando datos');
      },
      error: function(error, status, data)
      {
        console.error('ocurrio un error !!' + error + status + data);
      },
      complete: function()
      {
        // $('#formulario').each (function(){ this.reset();});
      },
      success: function(data)
      {
        //alert(data);
        //	$('#resultado').html(data.estado_consulta);
        if (data.estado_consulta == "exitoso")
        {
          console.log(data);
          new Messi('se actualizo correctamente.', {
            title: 'se actualizo',
            titleClass: 'success',
            center: true,
            autoclose: 2000,
            closeButton: true
          });
        }
        else
        {
          console.log(data.resultado);
          new Messi('ocurrio un error en la actualizacion.', {
            title: 'error',
            titleClass: 'anim error',
            center: true,
            autoclose: 2000,
            closeButton: true
          });
        }
      }
    }).done(function(data)
    {
      tabla_cargada('', '', '', limitante);
    });
    return false;
  }); /* ***************************************** llamado de funciones ************************************ */
  /* archivos del formulario */
  cargar_registros_formulario();
  ///////////////// cargar campos en una tabla ///////
  tabla_cargada('', '', ordenar_campo, limitante);
  //////////////// traer formulario  ////////////
  traer_formulario();
}); ////////////////////////// cierrar el lector de jquery ///////////////////////////
/* **************************************************************************************************** */
/* carga informacion en el formulario */

function cargar_registros_formulario()
{
  document.getElementById('tabla').value = tabla_usuario;
}
//////////////////////// reemplazar nombres de las columnas de la tabla /////////////////////////

function renombrar_campos(campo_buscar, campo, reemplazar)
{
  switch (campo_buscar)
  {
  case campo:
    $("#nombre_columna").append('<th> ' + reemplazar + ' </th>');
    break;
  default:
    $("#nombre_columna").append('<th >' + campo_buscar + '  </th>');
    break;
  }
  return resultado;
}
//////////////////////// traer formulario  //////////////////////////////////////

function traer_formulario()
{
  $.post('libreria_php/generar_formulario_campos.php', {
    tabla: tabla_usuario,
    campos: campos_formulario,
    campo: campos_reemplazar,
    reemplazar: campos_reemplazado
  }, function(data)
  {
    $('#cargar_formulario').html(data);
  }).done(function(data)
  {
    //console.log("second success" + data);
  }).fail(function(data)
  {
    console.error("error" + status);
  }).always(function(data)
  {
    //console.log("finished" + status);
  });
}
///////////////////////// mostrar div ////////////////////////////////////////////

function mostrar_form(valor)
{
  document.getElementById('ejecuta').value = valor;
  //	$("#ocultar").show("slow");
  $('#ocultar').modal('show')
}
///////////////////////// Ocultar div ////////////////////////////////////////////

function ocultar_form()
{
  //	$("#ocultar").hide("slow");
  $('#ocultar').modal('hide')
}
/////////////////// buscar y cargar registros buscar, valor, ordenar_campo, limitante ///////////////

function buscar_y_cargar_tabla()
{
  var buscar_registro = document.getElementById('buscar_registro').value;
  var lista_campos = document.getElementById('lista_campos').value;
  var ordenar = document.getElementById('ordenar').value;
  var operador_consulta = document.getElementById('operador_consulta').value;
  

  if(operador_consulta == 'like'){
	  var buscar_registro = '"%'+document.getElementById('buscar_registro').value+'%"';
	  }

  
    if (lista_campos != "vacio" & operador_consulta != 'vacio' & buscar_registro != '' & ordenar != 'vacio')
	{
  var valor_registro = operador_consulta+' "'+buscar_registro+'"';
  var valor_ordenar =  lista_campos+' '+ordenar;
  tabla_cargada(lista_campos, valor_registro, valor_ordenar, '');  

		}else{
  if (lista_campos != "vacio" & operador_consulta != 'vacio' & buscar_registro != '')
  {  
  var valor_registro = operador_consulta+' "'+buscar_registro+'"';
  tabla_cargada(lista_campos, valor_registro, '', '');  }else{ 
  tabla_cargada('', '', '', limitante); 
  }}
  
  
  

  
}
///////////////////////// Buscar Registros  para editar////////////////////////////////////////

function buscar_registro(valor)
{
  $.post('libreria_php/genera_consulta_json.php', {
    tabla: tabla_usuario,
    campos: campos_formulario,
    campo_buscar: "id",
    valor_buscar: "= "+valor,
    ordenar: '',
    limite: ''
  }, function(data)
  {
    $.each(data.registros[0], function(id, valor)
    {
      document.getElementById("" + id + "").value = valor;
    });
    if (document.getElementById('id').value != "")
    {
      mostrar_form('Editar');
    }
  }, "json").done(function(data)
  {
    //console.log("second success" + data);
  }).fail(function(data, status, readyState, responseText)
  {
        console.error("error" + +data.status);
    console.error(data.readyState);
    console.error(data.responseText);
  }).always(function(data)
  {
    //console.log("finished" + status);
  });
}
//////////////////////// Eliminar Registros  ///////////////////////////////////////

function elimina_registro(elimina)
{
  var r = confirm("Desea Eliminar Registro!");
  if (r == true)
  {
    $.post('libreria_php/crud.php', {
      tabla: tabla_usuario,
      campo: 'id',
      valor: elimina,
      ejecuta: 'Eliminar'
    }, function(data)
    {
      tabla_cargada('', '', '', limitante);
    }).done(function(data)
    {
      new Messi('se elimino correctamente.', {
        title: 'se actualizo',
        titleClass: 'success',
        center: true,
        autoclose: 2000,
        closeButton: true
      });
    });
  }
  else
  {
    new Messi('Se cancelo.', {
      title: 'error',
      titleClass: 'anim error',
      center: true,
      autoclose: 2000,
      closeButton: true
    });
  }
}
//////////////////////// Agregar Registros  ////////////////////////////////////////

function mostrar_agregar(valor)
{
  $('#formulario').each(function()
  {
    this.reset();
  });
  document.getElementById('ejecuta').value = valor;
  cargar_registros_formulario();
  //	$("#ocultar").show("slow");
  $('#ocultar').modal('hide');
} /* **************************************************************************************************** */